This invention relates in general to management of high speed packet network traffic and in particular to a method for reducing network traffic congestion.
The Internet supports diverse types of traffic including graphic images, file transfer data, interactive multimedia, real-time video, and voice. Despite the rapid growth in the number of Internet users, their expectations about the quality and timely display of information received from the internet backbone networks continue to be very high.
Referring now to the figures, there is shown in FIG. 1, a simplified schematic diagram of a typical internet backbone network 10. A sender 12 enters the network through a gateway, or entry router 14. The sender may be using a home personal computer that is linked to the internet by a phone-line modem, DSL or cable modem that communicates with an Internet Service Provider (ISP) that provides the entry router. A personal computer located at a business or university typically is connected to a Local Area Network (LAN) located at the business or university. The LAN would then be connected to an ISP via a high speed connection. The individual ISP's connect to larger ISP's with the largest ISP's maintaining regional or national fiber-optic “backbone” networks. It is also possible to utilize the network for audio communications by converting the audio into compressed binary data.
Regardless of the particular communication medium, the message is broken into packets of data and each packet includes both the sender's and the receiver's addresses. The addresses are assigned in accordance with an Internet Protocol (IP). The packets are received by the entry router 14 and forwarded to an adjacent intermediate gateway, or intermediate router 16, as indicated by the solid line in FIG. 1. Note that alternate routing paths between intermediate routers 16, indicated by dashed lines in FIG. 1, also are available. The intermediate router 16 reads the destination address for the packet and forwards the packet to another adjacent intermediate router 16. This process continues until a destination router 18 recognizes the destination address as belonging to a subscriber within its immediate neighborhood, or domain. The destination router 18 is responsive to the address to forward the packet directly to the receiver 20 whose address is specified.
Generally, IP is a connectionless protocol, which means that there is no continuing connection between the end points that are communicating. Thus, as each packet travels through the internet, it is treated as an independent unit of data without any relation to any other packet and the individual packets may well be sent over different paths as they cross the internet 10. As a result, the individual packets that comprise a message may well arrive at the receiver 20 out of their sending order. A Transmission Control Protocol (TCP) places the packets back into the correct sequence at the receiving end.
As the usage of the internet continues to increase, it has become desirable to provide enhanced handling for certain messages, rather than process each packet in sequence. For example, voice traffic requires a relatively uninterrupted flow of traffic while transmission of data files usually can be interrupted without undue disruption of services. Various attempts have been made to manage traffic to reflect the different levels of service requirements. Early versions applied priority handling tags to the packets. More recently, a Differentiated Services (DiffServ or DS) protocol has been adopted to provide precedence to certain classes of service by providing more complex policy of rule statements to determine how to forward a given network packet. Under the DiffServ protocol, different classes of service, such as e-mail, streaming video, large document file transfer and voice may be handled differently. Each class is may be assigned a type of service designation that specifies the desired optimization of delay, reliability and cost. For a given set of packets that comprise a message, each packet is given one of 64 possible forwarding behaviors, known as Per Hop Behaviors (PHB's). A six bit field, known as a Differentiated Services Code Point (DSCP), in the IP header specifies the PHB for a given flow of packets. The routers within a DiffServ network then handle the packets on different traffic flows by applying different PHB's based upon the settings of the DSCP, rather than sorting the packets at intermediate node within the network. In this manner, many traffic flows can be gathered into one of several predefined PHB's to reduce the processing and storage needed for classification and forwarding of packets.
The DiffServ protocol is an attempt to provide a priority queuing system that would operate in a manner similar to an interrupt system of an operating system where transient, or interrupt driven, users are allowed to momentarily interrupt the other users for a short period of time. Thus, in theory, the DiffServ protocol places high priority requests at the front of the priority queue. Unfortunately, data network messages often use very large groupings of data in a given packet or message, resulting in delays, even with priority queuing, as currently transmitting packets must complete transmission and equal priority packets must compete before “interrupt” level traffic may process. This condition is further exacerbated since similar queuing must occur at each intermediate router 16 as the packets are transmitted across the interne 10. Additionally, the complicated queuing algorithms utilized by the DiffServ protocol require a high level of processing of the packets at each intermediate router 16 along the transmission path. Accordingly, it would be desirable to provide a management mechanism for implementing admission control policy in a DiffServ network that would reduce traffic congestion.